
"""print('hello sijia')
print("hello python")
a=123
print(a)
#转化为二进制数
print(bin(a))
#转化为16进制
print(hex(a))
#专为8进制
print(oct(a))
def use_float():
    #感受浮点数的精度
    f=1.3415926
    print(f)
use_float()
def fun1():
    print(True+4)
fun1()
def use_complex():
    '''使用复数'''
    c=complex(3,4)
    print('c is %d+%d')%(c.real,c.imag)

print(ord('k'))#k的ASCII码
a=int(input("请输入一个数据"))
print(a)
print(type(a))
print(5&7)
print(5|7)
a=int(a)
print(type(a))"""
"""
a=complex(4,6)
print("a is %d+%dj"%(a.real,a.imag))
b=ord('k')
print(b)
K=b-32
print(chr(K))
def say_hello():
    print('hello 1')
    print('hello 2')
    print('hello 3')
print('调用函数前')
say_hello()
print('调用函数后')"""


#第二题定义赋值不同的数据类型并打印，并使用type
a=1.34
b=5
c='a'
print(type(a),type(b),type(c))

#第三题将整型转化为不同进制，进行输出
k=123
print(bin(k))#经k转化为二进制
print(oct(k))#将k转化为八进制
print(hex(k))#将k转化为十六进制

#第四题实现从1到100的奇数求和
#方法一
"""
def sum_1_100():
    sum=0
    i=1
    while(i<100):
        if i%2==1:
            sum=sum+i
        i=i+1
    print(sum)
sum_1_100()
"""
#方法二
def sum_1_100():
    sum=0
    for i in range(100):
        if i%2==1:
            sum=sum+i
        i=i+1
    print(sum)
sum_1_100()

#第5题打印九九乘法表
def print_chengfabiao():
    i = 1
    while i < 10:
        j = 1
        while j <= i:
            print(f"{j} * {i} = {j * i}\t", end=' ')
            j = j + 1
        print()  #进行换行
        i = i + 1
print_chengfabiao()

#第六题统计一个整数对应的二进制1的个数，输入一个整数，输出该整数的二进制包含1的个数
def oneCount2(n):
    print(bin(n))
    if n < 0:
        n = n & 0xffffffff
        print(n)
    print(bin(n))
    m = len(bin(n)) - 2
    count = 0
    for i in range(0, m):
        if n & 2 ** i != 0:
            count += 1
    return count
k=int(input("请输入一个整数："))
print(oneCount2(k))